/*!
 * \file UapStateMediaTransmission.h
 * \brief State where both signaling connection exist with User Client and
 * media transmission is ongoing
 */

#ifndef SGW_UAP_STATE_MEDIA_TRANSMISSION_H
#define SGW_UAP_STATE_MEDIA_TRANSMISSION_H

#include "UapStateBase.h"

namespace tsc
{
namespace sgw
{

/**
 * Media transmission is ongoing between MGW and User Client
 */
class UapStateMediaTransmission : public UapStateBase
{
public:

	static UapStateMediaTransmission* instance();

    virtual void handleEventUapConnectionReleaseReq(
            UapGenerator* uapGen,
            UapEventConnectionReleaseReq* event,
            EventData*& eventData);

    virtual void handleEventGapMediaTransmissionFinishedInd(
            UapGenerator* uapGen,
            UapEventGapMediaTransmissionFinishedInd* event,
            EventData*& eventData);

private:

	UapStateMediaTransmission();

	virtual ~UapStateMediaTransmission();

};

} // namespace sgw
} // namespace tsc

#endif // SGW_UAP_STATE_MEDIA_TRANSMISSION_H
